package com.droid.persistor.mapper;

import java.sql.Connection;
import java.sql.SQLException;
import java.util.ArrayList;

import com.droid.persistor.dao.Tipo_Gasto;
import com.droid.persistor.jdbc.DatabaseConnection;

public class Tipo_GastoMapper extends DatabaseConnection {

	public void altaTipo_Gasto(Tipo_Gasto tgo) {

		Connection conn = getConnection();
		String sql = "INSERT INTO CATEGORIA VALUES ('droid.sec_tipo_gasto.nextval,"
				+ tgo.getIdCategoria()
				+ tgo.getNombre();

		try {
			execute(conn, sql);

		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} finally {
			closeStatement();
		}

	}

	public Tipo_Gasto getTipo_Gasto(String nombre) {
		Connection conn = getConnection();
		String sql = "SELECT idtgasto,idcategoria,nombre FROM tipo_de_gastos WHERE nombre= "
				+ "'" + nombre + "'";
		Tipo_Gasto tgo = new Tipo_Gasto();
		try {
			rs = getResultSet(conn, sql);
			if (rs.next()) {
				tgo.setIdTipo_Gasto(rs.getInt("idtgasto"));
				tgo.setNombre(rs.getString("nombre"));
				tgo.setIdCategoria(rs.getInt("idcategoria"));
				
				return tgo;
			}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} finally {
			closeStatement();
		}

		return null;

	}	

	public Tipo_Gasto getNombreCategoria(Number idcategoria) {
		Connection conn = getConnection();
		String sql = "SELECT idtgasto,idcategoria,nombre FROM tipo_de_gastos WHERE idcategoria= "
				+ "'" + idcategoria + "'";
		Tipo_Gasto tgo = new Tipo_Gasto();
		try {
			rs = getResultSet(conn, sql);
			if (rs.next()) {
				tgo.setIdTipo_Gasto(rs.getInt("idtgasto"));
				tgo.setNombre(rs.getString("nombre"));
				tgo.setIdCategoria(rs.getInt("idcategoria"));
				
				return tgo;
			}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} finally {
			closeStatement();
		}

		return null;

	}	
	

	public ArrayList<Tipo_Gasto> getTipo_Gastos() {

		try {
			Connection conn = getConnection();
			ArrayList<Tipo_Gasto> Tipo_Gastos = new ArrayList();

			String sql = "SELECT idtgasto,idcategoria,nombre " +
					"FROM tipo_de_gastos ";

			rs = getResultSet(conn, sql);

			if (rs != null) {
				while (rs.next()) {
					Tipo_Gasto tgo = new Tipo_Gasto();
					tgo.setIdCategoria(rs.getInt("idcategoria"));
					tgo.setNombre(rs.getString("nombre"));
					Tipo_Gastos.add(tgo);
				}
				rs.close();
				return Tipo_Gastos;
			}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} finally {
			closeStatement();
		}

		return null;

	}


}
